
#ifndef __UNIT_H__
#define __UNIT_H__

#include <list>
#include <iostream>

class Unit
{
public:
    int convertToBasicUnit(int amount) const;
    int getFactorForBasicUnit() const;
    const char* getUnitName() const;
    static const void formatOutput(int amount, std::ostream& stream, const Unit* unit_i, std::list<const Unit*> unitList);

protected:
    Unit(const int factor, const char* name);
    const int factorForBasicUnit_m;
    const char* name_m;
};

#endif

